Document Android.Window APIs - #554
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR replaces remaining To be added. placeholders in the Android.Window XML documentation surface with meaningful summaries/remarks derived from the official Android API reference, improving the generated docs for window/predictive-back/splash screen/surface sync and related APIs.
Changes:
- Updated
Android.Windownamespace documentation to describe the scope of the API surface. - Filled in documentation for key
Android.Windowtypes/members (parcelable plumbing, splash screen, surface synchronization, predictive-back related APIs). - Clarified parameter/return/value documentation for several members where placeholders previously existed.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| docs/xml/ns-Android.Window.xml | Replaces namespace-level placeholders with a scoped summary/remarks. |
| docs/xml/Android.Window/TrustedPresentationThresholds+InterfaceConsts.xml | Documents legacy Parcelable-related constants guidance. |
| docs/xml/Android.Window/TrustedPresentationThresholds.xml | Replaces member placeholders with concrete summaries/values/remarks. |
| docs/xml/Android.Window/SystemOnBackInvokedCallbacks.xml | Documents return values and binding infrastructure members. |
| docs/xml/Android.Window/SurfaceSyncGroup.xml | Documents parameters/returns/remarks for surface sync group APIs and binding infrastructure members. |
| docs/xml/Android.Window/SplashScreenView.xml | Documents nullable value semantics for icon animation-related properties and binding infrastructure members. |
| docs/xml/Android.Window/SplashScreenStyle.xml | Documents enum purpose and enum member meanings. |
| docs/xml/Android.Window/SplashScreenOnExitAnimationEventArgs.xml | Documents event args purpose, constructor parameter, and property semantics. |
| docs/xml/Android.Window/SplashScreen.xml | Documents type purpose and recommends ISplashScreen per obsoletion guidance. |
| docs/xml/Android.Window/InputTransferToken+InterfaceConsts.xml | Documents legacy Parcelable-related constants guidance. |
| docs/xml/Android.Window/InputTransferToken.xml | Replaces member placeholders with concrete summaries/values/remarks for parcelable-related members. |
| docs/xml/Android.Window/BackEvent.xml | Documents binding infrastructure members for BackEvent. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
dalexsoto
left a comment
There was a problem hiding this comment.
Two Android.Window contracts are inaccurate:
SplashScreenViewdocuments a non-animatable icon as returning onlynull, but Android also permits a non-null zero duration.SystemOnBackInvokedCallbackssays the callback always removes the task; it always finishes the activity, but removes the task from Recents only when that activity is the task root.
Please document both outcomes in SplashScreenView.xml and the conditional task behavior in SystemOnBackInvokedCallbacks.xml.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ce92d4c9-4603-4d9d-9d0f-9b92d4314552
jonathanpeppers
left a comment
There was a problem hiding this comment.
Addressed in 4a826d9:
SplashScreenView.IconAnimationDurationnow documents that a non-animatable icon can returnnullor a non-null zero duration.SystemOnBackInvokedCallbacks.FinishAndRemoveTaskCallbacknow documents that it always finishes its activity and removes the task from Recents only when the activity is the task root.
|
Addressed in 4a826d9:
|
dalexsoto
left a comment
There was a problem hiding this comment.
The two prior fixes are correct, but three independent Android.Window contracts remain:
- Trusted-presentation thresholds must be greater than
0.0and at most1.0; zero is invalid. SplashScreenView.IconViewcan return null when no icon view exists.SurfaceSyncGroup.Addexecutes the runnable synchronously on the calling thread and blocks until it completes.
Please document these concrete range, nullability, and execution guarantees.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ce92d4c9-4603-4d9d-9d0f-9b92d4314552
jonathanpeppers
left a comment
There was a problem hiding this comment.
Addressed in 1f4d7b1:
TrustedPresentationThresholdsnow requiresminAlphaandminFractionRenderedvalues greater than0.0and no greater than1.0in both constructor parameters and exposed values.SplashScreenView.IconViewnow documents that it can returnnullwhen no icon view exists.- Both
SurfaceSyncGroup.Addoverloads now state that their runnable executes synchronously on the calling thread and blocks the method until completion.
|
@dalexsoto review |
dalexsoto
left a comment
There was a problem hiding this comment.
The prior range, nullability, and synchronous-execution fixes are correct, but two contracts remain:
stabilityRequirementMsmust be at least 1 millisecond; zero or negative values throw.SurfaceSyncGroup.AddTransactionsynchronizes only active groups; after completion Android applies the transaction immediately.
Please document the constructor's integer range and the completed-group behavior.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ce92d4c9-4603-4d9d-9d0f-9b92d4314552
jonathanpeppers
left a comment
There was a problem hiding this comment.
Addressed in 49c3ede:
TrustedPresentationThresholds.stabilityRequirementMsnow documents the minimum 1 ms value and that zero or negative values cause construction to throwIllegalArgumentException.SurfaceSyncGroup.AddTransactionnow documents that it synchronizes transactions only while the group is active and applies transactions immediately after the group has completed.
|
@dalexsoto review |
dalexsoto
left a comment
There was a problem hiding this comment.
The Android.Window stability ranges, nullable results, synchronous execution, and completed-group transaction behavior now match Android.
Summary
Refs #194
Sources
Validation
To be added.placeholders remain indocs/xml/Android.Windowanddocs/xml/ns-Android.Window.xml.git diff --check.Coverage and gaps